# -*- coding:utf-8 -*-
# 定义程序中的常量和各个模块之间的数据共享
import datetime

############################################# Excel #############################################
# Excel文件中存放数据的工作簿Sheet名。除预设功能的特殊Sheet表之外,其余Sheet表可自定义内容,不会被本工具导出
EXCEL_DATA_SHEET_NAME = "data"
# Excel临时文件的文件名前缀
EXCEL_TEMP_FILE_FILE_NAME_START_STRING = "~$"
# 每张数据表前三行分别声明字段描述、字段变量名、字段数据类型、字段检查规则、导出到数据库中的字段名及类型(行编号从1开始)
# 字段文字描述
DATA_FIELD_DESC_INDEX = 1
# 字段转换后变量名称
DATA_FIELD_NAME_INDEX = 2
# 字段类型
DATA_FIELD_DATA_TYPE_INDEX = 3
# 数据开始行
DATA_FIELD_DATA_START_INDEX = 4
#以1970年1月1日作为计算距今秒数的参考时间,并且作为存储time型的DateTime变量的日期部分,此时间的DateTimeKind为Unspecified
REFERENCE_DATE = datetime.datetime(1970,1,1,0,0,0)
#此时间的DateTimeKind为Local,用于转为时间戳时用当前时区表示。北京时间的时间戳0表示1970-01-01 08:00:00
REFERENCE_DATE_LOCAL = datetime.datetime(1970,1,1,0,0,0)
############################################# lua 相关参数 #############################################
#声明在生成的lua文件开头以注释形式展示列信息的命令参数(boolean)
NEED_COLUMN_INFO_PARAM_STRING = "columnInfo"
############################################# CSharp #############################################
#导出C#类文件的扩展名(不含点号)
EXPORT_CS_CLASS_FILE_EXTENSION = "cs"
#C#类文件参数下属的具体参数,用于配置命名空间
EXPORT_CS_CLASS_PARAM_NAMESPACE_PARAM_STRING = "namespace"
#导出csv对应C#类文件参数下属的具体参数,用于配置引用类库
EXPORT_CS_CLASS_PARAM_USING_PARAM_STRING = "using"
############################################# JSON #############################################
#导出json文件的扩展名(不含点号),默认为txt
ExportJsonExtension = "json"
#导出的json文件中是否将json字符串整理为带缩进格式的形式,默认为否
ExportJsonIsFormat = False
#导出的json文件是否生成为各行数据对应的json object包含在一个json array的形式,默认为是
ExportJsonIsExportJsonArrayFormat = True
#导出的json文件,若生成包含在一个json object的形式,是否使每行字段信息对应的json object中包含主键列对应的键值对,默认为是
ExportJsonIsExportJsonMapIncludeKeyColumnValue = True
#导出json文件参数下属的具体参数,用于配置是否将生成的json字符串整理为带缩进格式的形式
EXPORT_JSON_PARAM_IS_FORMAT_PARAM_STRING = "isFormat"
#导出json文件参数下属的具体参数,用于配置是否生成为各行数据对应的json object包含在一个json array的形式
EXPORT_JSON_PARAM_IS_EXPORT_JSON_ARRAY_FORMAT_PARAM_STRING = "isExportJsonArrayFormat"
#导出json文件参数下属的具体参数,用于配置若生成包含在一个json object的形式,是否使每行字段信息对应的json object中包含主键列对应的键值对
EXPORT_JSON_PARAM_IS_MAP_INCLUDE_KEY_COLUMN_VALUE_PARAM_STRING = "isMapIncludeKeyColumnValue"